Ansible Galaxy হলো একটি রেপোজিটরি বা মার্কেটপ্লেস যেখানে রেডি-মেড রোল পাওয়া যায়, যা আপনি আপনার প্রোজেক্টে সহজেই ব্যবহার করতে পারেন। Ansible Galaxy এর মাধ্যমে আপনি প্রি-বিল্ট রোলগুলো ইমপোর্ট, ম্যানেজ এবং শেয়ার করতে পারেন। এটি Ansible রোলগুলির জন্য একটি কেন্দ্রস্থল, যেখানে আপনি বিভিন্ন ডেভেলপারদের তৈরি করা রোলগুলো খুঁজে এবং ডাউনলোড করতে পারেন।
Ansible Galaxy থেকে রোল ইমপোর্ট করা খুব সহজ। চলুন, ধাপে ধাপে দেখি কীভাবে এটি করা যায়।
আপনি কমান্ড লাইন বা ওয়েবসাইটের মাধ্যমে গ্যালাক্সি রোল সার্চ করতে পারেন।
ওয়েবসাইটের মাধ্যমে:
nginx
, mysql
ইত্যাদি।কমান্ড লাইনের মাধ্যমে:
ansible-galaxy search nginx
nginx
সম্পর্কিত রোলগুলির একটি তালিকা দেখাবে।একবার আপনি রোলটি নির্বাচন করে নিলে, সেটি ইনস্টল করতে ansible-galaxy install
কমান্ড ব্যবহার করতে হবে।
নিচের ফরম্যাটটি ব্যবহার করে রোল ইমপোর্ট করুন:
ansible-galaxy install .
উদাহরণ:
ansible-galaxy install geerlingguy.nginx
এখানে geerlingguy
হলো নেমস্পেস এবং nginx
হলো রোলের নাম। এই কমান্ডটি রোলটি ডাউনলোড করে আপনার সিস্টেমে ইনস্টল করবে।
রোলটি সাধারণত ~/.ansible/roles
ডিরেক্টরিতে ইনস্টল হবে, বা যদি আপনি আপনার প্রোজেক্টের ডিরেক্টরিতে ইমপোর্ট করতে চান, তাহলে -p
ফ্ল্যাগ দিয়ে কাস্টম লোকেশন উল্লেখ করতে পারেন:
ansible-galaxy install geerlingguy.nginx -p ./roles/
ইমপোর্ট করা রোল আপনার প্লেবুকে ব্যবহারের জন্য প্রস্তুত। একটি প্লেবুকের মধ্যে রোল ব্যবহার করতে নিচের মত ফরম্যাট ফলো করুন:
---
- name: Deploy Nginx using a role from Galaxy
hosts: webservers
become: yes
roles:
- geerlingguy.nginx
এখানে geerlingguy.nginx
রোলটি প্লেবুকে অন্তর্ভুক্ত করা হয়েছে। এটি ইনস্টল করা রোল ব্যবহার করে আপনার webservers
হোস্টে Nginx কনফিগার করবে।
কোনো রোল আপডেট করতে চাইলে, --force
ফ্ল্যাগ ব্যবহার করে ইন্সটলেশন কমান্ড পুনরায় চালান:
ansible-galaxy install geerlingguy.nginx --force
এটি পূর্বে ইন্সটল করা রোলকে আপডেট করে দেবে।
কিছু রোলের ডিপেন্ডেন্সি থাকতে পারে যা অন্য রোল বা মডিউলের উপর নির্ভর করে। রোল ডাউনলোড করার পর ডিপেন্ডেন্সিগুলো চেক করতে এবং ম্যানেজ করতে:
meta/main.yml
ফাইলে ডিপেন্ডেন্সির তালিকা থাকে।ansible-galaxy install <namespace>.<role_name>
কমান্ড দিয়ে।roles:
সেকশন ব্যবহার করে।--force
ফ্ল্যাগ ব্যবহার করে।
# সার্চ কমান্ড
ansible-galaxy search nginx
# ইনস্টল কমান্ড
ansible-galaxy install geerlingguy.nginx
# ইনস্টল লোকেশন চেক
ansible-galaxy list
# প্লেবুক তৈরি
nano deploy_nginx.yml
deploy_nginx.yml
ফাইলের কন্টেন্ট:
---
- name: Deploy Nginx
hosts: webservers
become: yes
roles:
- geerlingguy.nginx
এইভাবে Ansible Galaxy ব্যবহার করে আপনি সহজে রোল ইমপোর্ট করতে পারেন এবং আপনার প্লেবুকে তা ব্যবহার করে দ্রুত এবং কার্যকরীভাবে কাজ সম্পন্ন করতে পারেন।
আরও দেখুন...